package xkp.lesson2;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;

public class TestDirectory {
    public static void main(String[] args) {
        //创建指向文件夹的对象
        File dir = new File("C:\\Users\\Administrator\\Desktop\\试卷");
        System.out.println(dir.isDirectory());
        System.out.println(dir.getAbsolutePath());
        System.out.println(dir.getName());
        System.out.println(dir.exists());

        //遍历文件夹中的内容,返回文件名称
        String[] fileNames = dir.list();
        System.out.println(Arrays.toString(fileNames));

        System.out.println("******************************");
        //把文件夹中的每一个文件对象返回
        File[] files = dir.listFiles();
        for(File file:files){
            String str = file.isFile()?"file":"dir";
            System.out.println(file.getName()+":"+str);
        }

        //把所有以.java结尾的文件遍历出来(过滤)
        //下面的代码是前面讲到的什么知识点
        String[] fileNames2 = dir.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                if(name.endsWith(".java")){
                    return true;
                }
                return false;
            }
        });
        System.out.println("*****************************");
        System.out.println(Arrays.toString(fileNames2));


        System.out.println("********************************");
        File[] files2 = dir.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                if(name.endsWith(".java")){
                    return true;
                }
                return false;
            }
        });
    }
    //目前只实现了单层遍历+过滤
    //递归遍历
}
